package com.ssy.lingxi.order.entity;

import javax.persistence.*;
import java.io.Serializable;

/**
 * 平台后台 - 商户支付参数配置
 * @author 万宁
 * @version 2.0.0
 * @date 2021-11-25
 */
@Entity
@Table(schema = "public", name = "ord_member_payment", indexes = {@Index(name = "ord_member_payment_member_idx", columnList = "memberId, roleId")})
public class MemberPaymentDO implements Serializable {
    private static final long serialVersionUID = 8364069830915030618L;

    /**
     * 主键Id
     */
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "ord_member_payment_seq")
    @SequenceGenerator(sequenceName = "ord_member_payment_seq", name = "ord_member_payment_seq", allocationSize = 1)
    private Long id;

    /**
     * 会员Id
     */
    @Column
    private Long memberId;

    /**
     * 会员角色Id
     */
    @Column
    private Long roleId;

    /**
     * 资金归集模式，定义在 FundModeEnum 中
     */
    private Integer fundMode;

    /**
     * 支付方式，定义在 OrderPayTypeEnum 中
     */
    @Column
    private Integer payType;

    /**
     * 支付渠道， 定义在 OrderPayChannelEnum 中
     */
    @Column
    private Integer payChannel;

    /**
     * 参数类型枚举，定义在 OrderPaymentParameterEnum 中
     */
    @Column
    private Integer code;

    /**
     * 参数值
     */
    @Column(columnDefinition = "varchar(200)")
    private String value;

    /**
     * 参数描述
     */
    @Column(columnDefinition = "varchar(200)")
    private String remark;

    /**
     * 状态，0-停用，1-启用，定义在 EnableDisableStatus 中
     */
    @Column
    private Integer status;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public Long getRoleId() {
        return roleId;
    }

    public void setRoleId(Long roleId) {
        this.roleId = roleId;
    }

    public Integer getFundMode() {
        return fundMode;
    }

    public void setFundMode(Integer fundMode) {
        this.fundMode = fundMode;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public Integer getPayChannel() {
        return payChannel;
    }

    public void setPayChannel(Integer payChannel) {
        this.payChannel = payChannel;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
}
